<?php

/**
 * Articles form.
 *
 * @package    explications_informatiques
 * @subpackage form
 * @author     Guimezanes Cyrille
 * @version    SVN: $Id: sfDoctrineFormTemplate.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class ArticlesForm extends BaseArticlesForm
{
  public function configure()
  {
	  //parent::configure();
	  unset($this["online"],$this["date_creation"],$this["sources"],$this["ext_references"]);
	 $this->disableLocalCSRFProtection();		 
	  //$this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema);
  }
  public function setup()
  {
	  $this->setWidgets(array(
      
      'category'      => new sfWidgetFormDoctrineChoice(array('model' => $this->getRelatedModelName('Categories'), 'add_empty' => false)),
      'title'          => new sfWidgetFormInputText(array(),array("size" => 90)),
      'description'    => new sfWidgetFormTextarea(array(), array("cols" => 77,"rows"=>5)),
	  'major'		   => new sfWidgetFormPlatform(array(),array("name" => "major", "onChange" => "updateVersion(this.value,'major','version_major')")),
	  /*'minor'		   => new sfWidgetFormPlatform(array(),array("name" => "minor", "onChange" => "updateVersion(this.value,'minor','version_minor')")),*/
	  'texte'		   => new sfWidgetFormTextarea(array(), array("cols" => 90,"rows"=>25)),
      'tags'           => new sfWidgetFormInputText(array(),array("size" => 60)),
      'online'         => new sfWidgetFormInputText(),
      'date_creation'  => new sfWidgetFormDateTime(),
      'sources'        => new sfWidgetFormTextarea(array(), array('class' => 'no-editor')),
      'ext_references' => new sfWidgetFormTextarea(array(), array('class' => 'no-editor')),
	  'id'   		   => new sfWidgetFormInputHidden(),
    ));
	
	$this->widgetSchema->setNameFormat('articles[%s]');
	
	$this->setValidators(array(
      'category'    => new sfValidatorString(array('required' => true), array('invalid' => 'Choisissez une categorie')),
      'title'   => new sfValidatorString(array('required' => true,"max_length" => 150), array('invalid' => 'Titre trop long ou non renseigné')),
      'texte' => new sfValidatorString(array('required' => true), array('invalid' => 'texte obligatoire')),
      'tags' => new sfValidatorString(array('required' => false,"max_length" => 100), array('invalid' => 'trop de tags')),
	  'description' => new sfValidatorString(array('required' => true,"max_length" => 500), array('invalid' => 'Longeur maximale de la description atteinte')),
      'id' => new sfValidatorString(array('required' => false)),
    ));
	
	$this->widgetSchema->setLabels(array(
    
	  'category'	   => "Categorie de l'article",
	  'description'	   => "Description de l'article",
	  'major'		   => "Systéme ou logciel principal",
	  /*'minor'		   => "Systéme ou logciel secondaire (facultatif)",*/
	  'texte'		   => "Texte de l'article",
	  'tags'		   => "Tag(s)",
	  
    ));
	$this->widgetSchema->setHelps(array(

	  'category'	   => "La catégorie permet au visiteur de savoir à quel domaine votre article s'applique",
	  'description'	   => "La description de l'article et un rapide apreçu du contenu de l'article. Il sera utilisé pour le moteur de recherche, le flux RSS. Attention cette description est commune à toutes les versions d'un article.",
	  'major'		   => "Choissisez sur quel sytéme ou logiciel le sujet de votre article s'applique",
	  /*'minor'		   => " Ce champs vous permet de spécialiser votre article à un logiciel particulier (par exemple vous pourriez rédiger un article pour Windows Seven et Word 2007. Vous choisirez donc \"Microsoft Word\" ici)",*/
	  'texte'		   => "Le texte de base de votre article. Il pourra ensuite être completé ou modifié par la communauté",
	  'tags'		   => "Une liste de tags représentatifs. Il doivent être séparés par des espaces",
    ));
    //$this->widgetSchema->setFormFormatterName('list');
  }
}
